#ifndef __TYPETOOLS_H__
#define __TYPETOOLS_H__

namespace mpl
{
	struct NullType{};
	struct true_ {enum{value = true}; };
	struct false_{enum{value = false}; };

	template<class T, class U = NullType>
	struct TypeList
	{
		typedef T Head;
		typedef U Tail;
	};
}

#endif
